﻿using Ids4.Api.Models.Dtos.Claim;
using Ids4.Api.Models.Dtos.Role;
using Ids4.Api.Models.Vos.Claim;
using Ids4.Api.Models.Vos.Role;
using Microsoft.AspNetCore.Identity;

namespace Ids4.Api.Services
{
    public interface IRoleService
    {
        Pagelist<RoleListVo> GetRoles(PageInput input);
        Task<IdentityResult> CreateRoleAsync(CreateRoleDto roleDto);
        Task<IdentityResult> UpdateRoleAsync(UpdateRoleDto roleDto);
        Task<IdentityResult> DeleteRoleAsync(string roleId);
        Task<IdentityResult> CreateRoleClaim(CreateUserOrRoleClaimDto dto);
        Task<IdentityResult> RemoveRoleClaim(CreateUserOrRoleClaimDto dto);
        Task<List<ClaimVo>> GetRoleClaims(string roleId);
    }
}
